extends Node

var AI=load("res://引擎//PikaFish.cs").new()
var 红棋AI:int=0
var 黑棋AI:int=0
const 提示AI:int=25
const 和棋回合数:int=120
var 当前棋谱:棋谱数据类=null
var 动画速度:float=0.4

const AI难度集:Dictionary={
	无=0,
	简单=1,
	专业=24,
	大师=64
}
const AI名称:Dictionary={
	0:"玩家",
	1:"皮卡鱼(简单)",
	24:"皮卡鱼(专业)",
	64:"皮卡鱼(大师)"
}
func 播放音效(_音效:AudioStream):
	var 播放器:AudioStreamPlayer=AudioStreamPlayer.new()
	add_child(播放器)
	播放器.stream=_音效
	播放器.play()
	await 播放器.finished
	remove_child(播放器)
	播放器.queue_free()

#region 音效相关
func 播放移动音效():
	播放音效(音效.移动)	

func 播放吃子音效():
	播放音效(音效.吃子)		

func 播放将军音效():
	播放音效(音效.将军)		

func 播放绝杀音效():
	播放音效(音效.绝杀)	
#endregion

const FEN棋类:Dictionary={
	P=preload("res://棋子/红棋/红兵.tscn"),
	C=preload("res://棋子/红棋/红炮.tscn"),
	R=preload("res://棋子/红棋/红车.tscn"),
	N=preload("res://棋子/红棋/红马.tscn"),
	B=preload("res://棋子/红棋/红象.tscn"),
	A=preload("res://棋子/红棋/红士.tscn"),
	K=preload("res://棋子/红棋/红将.tscn"),
	p=preload("res://棋子/黑棋/黑兵.tscn"),
	c=preload("res://棋子/黑棋/黑炮.tscn"),
	r=preload("res://棋子/黑棋/黑车.tscn"),
	n=preload("res://棋子/黑棋/黑马.tscn"),
	b=preload("res://棋子/黑棋/黑象.tscn"),
	a=preload("res://棋子/黑棋/黑士.tscn"),
	k=preload("res://棋子/黑棋/黑将.tscn"),	
}

const 音效:Dictionary={
	吃子=preload("res://素材/音效/吃子.wav"),
	移动=preload("res://素材/音效/移动.wav"),
	将军=preload("res://素材/音效/将军.wav"),
	绝杀=preload("res://素材/音效/绝杀.wav"),
}

var 棋谱集:Array[棋谱数据类]=[]

func _ready() -> void:
	生成棋谱集()
	
func 生成棋谱集():
	for id in GameData.初始数据.棋谱:
		var 棋谱:棋谱数据类=GameFactory.生成棋谱数据(id)
		棋谱集.append(棋谱)
	
	
